#include "ScnsIic.c.h"

#if defined(SCNS_IIC_ENABLE)&&SCNS_IIC_ENABLE==1

const ScnsBspIicConfig scnsBspIicConfig[SCNS_IIC_MAX]={
    {.tick=200},      //
};

static const struct
{
    PIN_enum pinScl;
    PIN_enum pinSda;
}ptx[SCNS_IIC_MAX]={
    {.pinScl=C23,.pinSda=C22,},
};

void scnsBspIicSetSdaDir(ScnsIicEnum iicN,uint8 in)
{
    gpio_dir(ptx[iicN].pinSda,(in)?GPI:GPO);
}

void scnsBspIicSetScl(ScnsIicEnum iicN,uint8 dat)
{
    gpio_set(ptx[iicN].pinScl,dat);
}

void scnsBspIicSetSda(ScnsIicEnum iicN,uint8 dat)
{
    gpio_set(ptx[iicN].pinSda,dat);
}

uint8 scnsBspIicGetSda(ScnsIicEnum iicN)
{
    return gpio_get(ptx[iicN].pinSda);
}

ScnsStatus scnsBspIicInit(ScnsIicEnum iicN)
{
    gpio_init(ptx[iicN].pinScl,GPO,1,GPIO_PIN_CONFIG);
    gpio_init(ptx[iicN].pinSda,GPO,1,GPIO_PIN_CONFIG);
    return SCNS_STATUS_OK;
}

#endif
